home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 242 / 242.d81 / t.dissolver 1.2 < prev    next >
Text File  |  2022-08-26  |  6KB  |  204 lines

  1. u
  2.      S T A R   D I S S O L V E R
  3.  
  4.     Program and Text by Lee Novak
  5.  
  6.  
  7.     STAR DISSOLVER is the third and
  8. final program in my "link and pack"
  9. trilogy. It reverses the effects of
  10. STAR PACKER 1.1 and STAR LINKER 1.9
  11. in a controlled environment, leaving
  12. you with the same, untouched files
  13. the original programmer used.
  14.  
  15.     STAR DISSOLVER takes the mystery
  16. out of those "10 SYS2061" programs.
  17.  
  18.  
  19.  [USING THE PROGRAM]
  20.  [{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}]
  21.  
  22.     The main menu should be familiar.
  23. The "suspect" program you want to
  24. dissolve loads from the source drive.
  25. Later on, the extracted "component"
  26. files are saved to the target drive.
  27. Press B to return to BASIC.
  28.  
  29.     Press F5 to bring up a file
  30. requestor. Select any "suspect" file
  31. or press F7 to cancel. Since this
  32. file is just that, a suspect, you
  33. don't need to know beforehand if it
  34. is linked, packed, or anything.
  35.  
  36.     STAR DISSOLVER loads the file and
  37. tells you its length. Press RETURN to
  38. make the program check if the file is
  39. linked and/or packed. And if either
  40. is so, it automatically "dissolves"
  41. the file for you. Hence the name, eh?
  42.  
  43.  
  44.  [AFTER DISSOLVING]
  45.  [{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}]
  46.  
  47.     If the program was only packed,
  48. you'll see the value under "bytes"
  49. for that solitiary program increase.
  50. If the program was linked, you'll see
  51. a list of the component files, with
  52. separate sizes and load addresses.
  53.  
  54.     You'll need to remember which is
  55. the primary BASIC file (it's white)
  56. if you choose to re-link the program
  57. later. You will NOT need to know the
  58. custom link addresses of each file.
  59. My program ensures the load address
  60. of each file IS the link address!
  61.  
  62.     STAR DISSOLVER wasn't designed to
  63. identify and decode the Jeff Jones'
  64. series of linkers, so programs using
  65. them will be flagged as "not linked".
  66.  
  67.     Press F1 to begin the automated
  68. saving sequence to the target drive.
  69. A disk error at this point will halt
  70. all operations, with the exception of
  71. the "file exists" error.
  72.  
  73.     You don't have to save. Press F7
  74. to cancel back to the main menu. Like
  75. STAR DISSOLVER's predecesors, you can
  76. load up files just to play around.
  77.  
  78.     Keep a scratch disk handy for
  79. dissolving. Never dissolve directly
  80. to a LOADSTAR disk. You would almost
  81. certainly get a "disk full" error and
  82. a splat file!
  83.  
  84.  [FT:] You can get away with
  85. dissolving onto the LOADSTAR disk if
  86. you get the 1581 version, but it's
  87. still not a good idea unless you're
  88. using a backup.
  89.  
  90.     A file that is neither linked nor
  91. packed can still be saved, only it
  92. hasn't changed a bit! Think of this
  93. "feature" as a simple file copier
  94. with a 51.5K capacity.
  95.  
  96.  
  97.  [MORE ABOUT SAVING]
  98.  [{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}]
  99.  
  100.     STAR DISSOLVER will not allow you
  101. to "scratch and replace" when an
  102. identical filename is found on disk.
  103. Instead, you're given the option of
  104. giving the currently saving file a
  105. different name, or skip saving that
  106. particular file altogether.
  107.  
  108.     Why would you want to do that?
  109. Suppose a bug is found in a large,
  110. linked program. Fender could provide
  111. the ONLY file that needs replacing.
  112. You could copy that file to a scratch
  113. disk, and dissolve the linked file to
  114. the same disk. When prompted, just
  115. skip saving the duplicated file.
  116.  
  117.     Of course, now you would have to
  118. re-link and re-pack the program to
  119. restore its former glory. This does
  120. take some time from a LOADSTARite.
  121. Maybe it will be easier on both sides
  122. to re-publish a bugged program...
  123.  
  124.     Bug fixes aren't the only reason
  125. to tear apart and re-build a program.
  126. Besides curiosity, you could break
  127. into a program to change a font or
  128. swap a music file. The main thing is
  129. that you gain "programmer" access to
  130. upcoming LOADSTAR programs.
  131.  
  132.     Many programs can be RUN in their
  133. unpacked and unlinked state with
  134. little modification. All that is
  135. usually needed is to remove the REMs
  136. in front of the BLOAD lines in the
  137. BASIC program. Sometimes a GOTO jumps
  138. over the BLOAD lines. Remove that.
  139.  
  140.     There are no guarantees that this
  141. kind of tinkering will get a program
  142. working as separate files. Every
  143. programmer has a different style and
  144. there's no telling what sort of
  145. nonsense may be in a program!
  146.  
  147.  
  148.  [FENDER'S POSTMUMBLE:] This program
  149. is going on my utilities partition on
  150. RAMLink right after STAR LINKER and
  151. STAR PACKER, and it should go on your
  152. utilities disk, too. I'm finding the
  153. LINKER and PACKER tools to be
  154. lifesavers for me and you'll be
  155. seeing plenty of linked, packed
  156. programs on LOADSTAR in the future.
  157. I only wish that I had the time to go
  158. back through all of the great
  159. programs that we've published and
  160. redo them with Lee's fantastic tools.
  161. They'd be smaller, load faster, and
  162. would have the source codes
  163. "built-in". I'm afraid that there are
  164. many programs we've published that,
  165. because of shoddy archiving, would be
  166. very difficult to redo.
  167.  
  168.  No more, thanks to Lee Novak.
  169.  
  170.  [DAVE'S ADDENDUM:] I use *.PKD to
  171. indicate a Packed program and *.LNK
  172. for Linked. If you want to Dissolve a
  173. file then run the resulting "raw", you
  174. may need to create a new Boot to reset
  175. the Bottom of BASIC and bload the
  176. various files. Use pen and paper to
  177. note the various load addresses.
  178.  
  179.  For Dissolved binary files, I have
  180. found that an old technique works just
  181. fine:
  182.  
  183. 5 D = PEEK(186):IF D<8 THEN STOP
  184. 10 IF A=0 THEN A=1:LOAD"FILE1",D,1
  185. 11 IF A=1 THEN A=2:LOAD"FILE2",D,1
  186. 12 IF A=2 THEN A=3:LOAD"FILE3",D,1
  187.  
  188. 20 A$="BASICPROG"
  189. 30 PRINT"<CLR><DN><DN><DN>LOADA$,D"
  190. 40 PRINT"<DN><DN><DN><DN>RUN<HOME>
  191. 50 Q=INT(BOB/256)
  192. 51 POKE 44,Q: POKE Q*256,0
  193. 60 POKE631,13:POKE632,13:POKE198,2
  194. 70 END
  195.  
  196. (BOB - Bottom of BASIC - is the load
  197. address of the BASIC program. For
  198. example, if the BASIC program is shown
  199. by Dissolver to load at 4097, then BOB
  200. would equal 4097.)
  201.  
  202.  DMM
  203.  
  204.  
  205.